]> dgit.raspbian.org Git - gnome-shell.git/commitdiff
layout: Add back affectsInputRegion
authorFlorian Müllner <fmuellner@gnome.org>
Mon, 9 Feb 2015 08:25:00 +0000 (09:25 +0100)
committerFlorian Müllner <fmuellner@gnome.org>
Fri, 20 Feb 2015 16:40:48 +0000 (17:40 +0100)
It was removed as actors that should not affect the input
region can simply be added to the uiGroup instead. However
the property is useful to add non-reactive chrome, but then
use trackChrome() to add a child to the input region.

This reverts commit e62d22a50ed8aa25de988fb3c389b999e42f2eac.

https://bugzilla.gnome.org/show_bug.cgi?id=744850

js/ui/layout.js

index c6816884882c8fa2f44b445615747d00f86683e2..8842a75190901914b04f6c88291c2efb998b963b 100644 (file)
@@ -165,6 +165,7 @@ const Monitor = new Lang.Class({
 const defaultParams = {
     trackFullscreen: false,
     affectsStruts: false,
+    affectsInputRegion: true
 };
 
 const LayoutManager = new Lang.Class({
@@ -736,10 +737,11 @@ const LayoutManager = new Lang.Class({
     // @actor: an actor to add to the chrome
     // @params: (optional) additional params
     //
-    // Adds @actor to the chrome, and extends the input region
-    // to include it. Changes in @actor's size, position, and
-    // visibility will automatically result in appropriate changes
-    // to the input region.
+    // Adds @actor to the chrome, and (unless %affectsInputRegion in
+    // @params is %false) extends the input region to include it.
+    // Changes in @actor's size, position, and visibility will
+    // automatically result in appropriate changes to the input
+    // region.
     //
     // If %affectsStruts in @params is %true (and @actor is along a
     // screen edge), then @actor's size and position will also affect
@@ -941,7 +943,7 @@ const LayoutManager = new Lang.Class({
 
         for (i = 0; i < this._trackedActors.length; i++) {
             let actorData = this._trackedActors[i];
-            if (!wantsInputRegion && !actorData.affectsStruts)
+            if (!(actorData.affectsInputRegion && wantsInputRegion) && !actorData.affectsStruts)
                 continue;
 
             let [x, y] = actorData.actor.get_transformed_position();
@@ -951,7 +953,7 @@ const LayoutManager = new Lang.Class({
             w = Math.round(w);
             h = Math.round(h);
 
-            if (wantsInputRegion && actorData.actor.get_paint_visibility())
+            if (actorData.affectsInputRegion && wantsInputRegion && actorData.actor.get_paint_visibility())
                 rects.push(new Meta.Rectangle({ x: x, y: y, width: w, height: h }));
 
             if (actorData.affectsStruts) {